/*
 * Copyright (c) 2021 Huawei Device Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#ifndef SWANLINK_FINANCE_MAKECARD_INTERFACES_INNERKITS_NATIVE_INCLUDE_MAKECARD_IFACE_H
#define SWANLINK_FINANCE_MAKECARD_INTERFACES_INNERKITS_NATIVE_INCLUDE_MAKECARD_IFACE_H

#include <string>

namespace SwanLink {
namespace Finance {

typedef struct __BmpInfo {
    char lpFrontBGR[512];  // 必传，卡片正面图片的色彩数据位图路径
    uint32_t direction;  // 必传，打印方向，正面： 1 ,反面: 2, 双面: 3
    char lpFrontK[512];  // 选传，卡片正面图片的K数据位图路径(用于打印条码信息)
    char lpFrontO[512];  // 选传，卡片正面图片的O数据位图路径(防止打印到接触式CPU卡的芯片位置)
    char lpBackBGR[512];  // 若打印反面则必传，卡片反面图片的色彩数据位图路径
    char lpBackK[512];  // 选传，卡片反面图片的K数据位图路径(用于打印条码信息)
    char lpBackO[512];  // 选传，卡片反面图片的O数据位图路径(防止打印到接触式CPU卡的芯片位置)
}BmpInfo;

#define ERR_CARD_JAM  -10401  // 塞卡
#define ERR_REJECT_BOX_OPEN  -10402  // 废卡箱被打开
#define ERR_REJECT_BOX_FULL  -10403  // 废卡箱满
#define ERR_RIBBON_ERROR  -10404  // 色带错误
#define ERR_NO_CARD  -10405  // 卡机无卡
#define ERR_FLIPPER_ERROR -10406  // 翻卡模块错误
#define ERR_CARD_FEED_ERROR -10407  // 进卡错误
#define ERR_COVER_OPEN -10408  // 上盖打开
#define ERR_REQUEST_NOT_SUPPORTED -10409  // 请求不支持
#define ERR_THE_FIRMWARE_COMMAND_NOT_SUPPORTED  -10410  // 不是固件支持的命令
#define ERR_OPEN_SPECIFIED_DEVICE_OR_FILE_FAILED  -10411  // 打开指定设备或文件失败
#define ERR_FLIPPER_NOT_ATTACHED  -10412  // 翻卡模块未安装
#define ERR_RIBBON_MISSING -10413  // 查找不到色带
#define ERR_CARD_EJECT_ERROR -10414  // 排卡错误
#define ERR_CARD_OUT -10415  // 卡片用完
#define ERR_FILM_OUT -10416  // 转印膜用完
#define ERR_FILM_ERROR -10417  // 转印膜错误
#define ERR_FILM_MISSING -10418  // 没有放转印膜
#define ERR_RIBBON_OUT -10419  // 色带用完
#define ERR_MAGNETIC_ENCODING_MODULE_NOT_ATTACHED -10420  // 未接上磁条模块
}  // namespace Finance
}  // namespace SwanLink

#endif  // SWANLINK_FINANCE_MAKECARD_INTERFACES_INNERKITS_NATIVE_INCLUDE_MAKECARD_IFACE_H
